Communications relays

ABSTRACT

Described herein are examples of methods that include receiving, at a communications relay, a first electronic communication from a third party device. The methods also include determining a sender identity associated with the first electronic communication. The methods include storing, on an electronic data storage unit associated with the sender identity, a communication digest of the first electronic communication associated with the sender identify; generating, at the communication relay, a unified network interface for accessing a set of electronic communications directed to the customer. The method includes providing, to the customer via a network, access to the unified network interface.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. Non-Provisional Pat.Application No. 17/500,061 entitled “COMMUNICATIONS RELAYS”, filed onOct. 13, 2021. The entire contents of the above-listed application arehereby incorporated by reference for all purposes.

BACKGROUND

Tenants and prospective tenants may seek to communicate with a landlordor property manager of a rental property. Landlords often depend on anability to receive telephone calls, short message system (SMS) messages,multimedia messaging service (MMS) messages, or emails from tenants orprospective tenants. Such communications may be related to questions orissues regarding a present lease or may be related to an inquiryregarding a prospective new lease.

BRIEF DESCRIPTION OF THE DRAWINGS

The present description will be understood more fully when viewed inconjunction with the accompanying drawings of various examples ofcommunications relays. The description is not meant to limit thecommunications relays to the specific examples. Rather, the specificexamples depicted and described are provided for explanation andunderstanding of communications relays. Throughout the description thedrawings may be referred to as drawings, figures, and/or FIGs.

FIG. 1 illustrates a communications relay system, according to anembodiment.

FIG. 2 illustrates a device schematic for various devices used in thecommunications relay system, according to an embodiment.

FIG. 3 illustrates a system for relaying a communication, according toan embodiment

FIG. 4A illustrates a method for relaying a communication, according toan embodiment.

FIG. 4B illustrates an extension of a method for relaying acommunication, according to an embodiment.

FIG. 5 illustrates an example communications relay, according to anembodiment.

FIG. 6 illustrates a further example communications relay, according toan embodiment.

FIG. 7 illustrates a flowchart of a unified communication inbox,according to an embodiment.

FIG. 8 illustrates a flowchart of a user setup and identity creation,according to an embodiment.

FIG. 9 illustrates a flowchart of an inbound voice communication,according to an embodiment.

FIG. 10 illustrates a flowchart of an outbound voice communicationimplementing WebRTC, according to an embodiment.

FIG. 11 illustrates another example flowchart of an outbound voicecommunication implementing a voice bridge, according to an embodiment.

FIG. 12 illustrates a flowchart of an incoming SMS communication,according to an embodiment.

FIG. 13 illustrates a flowchart of an outgoing SMS communication from awebsite, according to an embodiment.

FIG. 14 illustrates a flowchart of an outgoing SMS communication from aphone number pool, according to an embodiment.

FIG. 15 illustrates a flowchart of an incoming email communication,according to an embodiment.

FIG. 16 illustrates a flowchart of an outgoing email communication,according to an embodiment.

DETAILED DESCRIPTION

A communication relay as disclosed herein will become better understoodthrough a review of the following detailed description in conjunctionwith the figures. The detailed description and figures provide merelyexamples of the various embodiments of communications relays. Manyvariations are contemplated for different applications and designconsiderations; however, for the sake of brevity and clarity, all thecontemplated variations may not be individually described in thefollowing detailed description. Those skilled in the art will understandhow the disclosed examples may be varied, modified, and altered and notdepart in substance from the scope of the examples described herein.

Conventional communications systems and arrangements present significantdifficulty, inconvenience, and privacy concerns for landlords andtenants. A common way for landlords to communicate contact informationsuch as, for example, telephone numbers and/or email addresses topotential tenants who may make an inquiry is to include it on a sign ator near the rental property or on literature about the rental property(e.g., pamphlets, websites, etc.). Landlords may publicize theirpersonal telephone number (e.g., their landline telephone number ortheir cellular telephone number) and/or email address to receive inboundinquiries from prospective tenants. Such inbound inquiries and othercommunications to or from tenants may be by, for example, telephonecalls, simple message syndicate (SMS) messages, multimedia messagingservice (MMS) messages, or emails. Some landlords may utilize a separatecommunications channel (e.g., telephone line(s), email service(s)) forpublicity for tenant and prospective tenant communications.

Landlords using their personal communications channels may be limited inthat cost may prohibit maintaining a separate communications channel.For those landlords who can afford to utilize separate communicationschannels, logistical difficulties may present in having to maintainseparate communications channels for all of, groups of, or each of theirrental properties.

Both use of personal communications and separate communications presentissues related to tracking, privacy, separateness, and propertydistinction. Tracking which messages or calls were from which tenants orprospective tenants and for which property may be cumbersome. Variousinbound tenant and prospective communications amalgamated with alandlord’s personal communications may present difficulties inmaintaining a separation between the landlord’s business and personallife. Privacy concerns may arise for both tenants or prospective tenantsand landlords when communications are amalgamated with the landlord’spersonal communications on the landlord’s personal device, which may beaccessible by another. Further, a landlord may be unable to utilizedistinct communications channels or contact information for distinctproperties or groups of properties, for example, a landlord may wish toutilize one telephone number for one property and another telephonenumber for another property but be unable to due to logisticaldifficulties (e.g., the landlord may not be able to maintain multipletelephone handsets at any given time) or unaffordability. A lack ofseparation between personal and business communications channels orbetween distinct property communication channels may hinder efficient oreffective business and may provide for opportunity for erroneouscommunications.

Conventional communications systems may include systems for assisting inaggregating communication channels by aggregating inbound communicationsfor display and recording. However, such systems may require use ofspecialized hardware or systems, which may require internet access. Suchsystems may further present what could be an overwhelming amount ofinformation from varying sources, still requiring the landlord to manageeach one individually.

Implementations of communications relays may address some or all of theproblems described above. A communications relay may include a method,system, or non-transient computer-readable storage media havinginstructions embodied thereon, the instructions being executable by oneor more processors to perform a method for relaying a communication.

Communications relays may aggregate communications from landlords suchthat various tenants and prospective tenants can communicate with alandlord via various communications channels, while from the landlord’sperspective, the landlord may interact with various tenants orprospective tenants via the same communication channel. Thecommunications relay system may, for example, aggregate various email,short message system (SMS), or telephone channels into a single channelfor the landlord to manage and utilize for communications.

Communications relays may involve establishing a persona for each thirdparty (e.g., tenants or prospective tenants), and provide for aggregatecommunications through each communications channel with each thirdparty. Embodiments may enable a user to receive communications fromvarious communications channels from third parties through the user’sdesignated communications channel, thus obviating problems associatedwith amalgamating various communications channels in an interface andaddressing logistical difficulties that would otherwise persist relatedto maintaining various communications channels (e.g., multiple cellularphones or email accounts).

FIG. 1 illustrates a communications relay system 100, according to anembodiment. The communications relay system 100 includes internal andexternal data resources for managing a project. The communications relaysystem 100 may result in reduced memory allocation at client devices andmay conserve memory resources for application servers.

The communications relay system 100 may include a cloud-based datamanagement system 102 and a user device 104. The cloud-based datamanagement system 102 may include an application server 106, a database108, and a data server 110. The user device 104 may include one or moredevices associated with user profiles of the communications relay system100, such as a smartphone 112 and/or a personal computer 114. The userdevice 104 may have a graphical user interface, which may provide fordisplaying information on a screen of the user device 104. Thecommunications relay system 100 may include external resources such asan external application server 116 and/or an external database 118. Thevarious elements of the communications relay system 100 may communicatevia various communication links 120. An external resource may generallybe considered a data resource owned and/or operated by an entity otherthan an entity that utilizes the cloud-based data management system 102and/or the user device 104.

The communications relay system 100 may be web-based. The user device104 may access the cloud-based data management system 102 via an onlineportal set up and/or managed by the application server 106. Thecommunications relay system 100 may be implemented using a publicinternet. The communications relay system 100 may be implemented using aprivate intranet. Elements of the communications relay system 100, suchas the database 108 and/or the data server 110, may be physically housedat a location remote from an entity that owns and/or operates thecommunications relay system 100. For example, various elements of thecommunications relay system 100 may be physically housed at a publicservice provider such as a web services provider. Elements of thecommunications relay system 100 may be physically housed at a privatelocation, such as at a location occupied by the entity that owns and/oroperates the communications relay system 100.

The communication links 120 may be direct or indirect. A direct link mayinclude a link between two devices where information is communicatedfrom one device to the other without passing through an intermediary.For example, the direct link may include a Bluetooth™ connection, aZigbee® connection, a Wifi Direct™ connection, a near-fieldcommunications (NFC) connection, an infrared connection, a wireduniversal serial bus (USB) connection, an ethernet cable connection, afiber-optic connection, a firewire connection, a microwire connection,and so forth. In another example, the direct link may include a cable ona bus network. “Direct,” when used regarding the communication links120, may refer to any of the aforementioned direct communication links.

An indirect link may include a link between two or more devices wheredata may pass through an intermediary, such as a router, before beingreceived by an intended recipient of the data. For example, the indirectlink may include a wireless fidelity (WiFi) connection where data ispassed through a WiFi router, a cellular network connection where datais passed through a cellular network router, a wired network connectionwhere devices are interconnected through hubs and/or routers, and soforth. The cellular network connection may be implemented according toone or more cellular network standards, including the global system formobile communications (GSM) standard, a code division multiple access(CDMA) standard such as the universal mobile telecommunicationsstandard, an orthogonal frequency division multiple access (OFDMA)standard such as the long term evolution (LTE) standard, and so forth.“Indirect,” when used regarding the communication links 120, may referto any of the aforementioned indirect communication links.

FIG. 2 illustrates a device schematic 200 for various devices used inthe communications relay system 100, according to an embodiment. Aserver device 200 a may moderate data communicated to a client device200 b based on data permissions to minimize memory resource allocationat the client device 200 b.

The server device 200 a may include a communication device 202, a memorydevice 204, and a processing device 206. The processing device 206 mayinclude a data processing module 206 a and a data permissions module 206b, where module refers to specific programming that governs how data ishandled by the processing device 206. The client device 200 b mayinclude a communication device 208, a memory device 210, a processingdevice 212, and a user interface 214. Various hardware elements withinthe server device 200 a and/or the client device 200 b may beinterconnected via a system bus 216. The system bus 216 may be and/orinclude a control bus, a data bus, and address bus, and so forth. Thecommunication device 202 of the server device 200 a may communicate withthe communication device 208 of the client device 200 b.

The data processing module 206 a may handle inputs from the clientdevice 200 a. The data processing module 206 a may cause data to bewritten and stored in the memory device 204 based on the inputs from theclient device 200 b. The data processing module 206 a may receive datastored in the memory device 204 and output the data to the client device200 a via the communication device 202. The data permissions module 206b may determine, based on permissions data stored in the memory device,what data to output to the client device 200 b and what format to outputthe data in (e.g., as a static variable, as a dynamic variable, and soforth). For example, a variable that is disabled for a particular userprofile may be output as static. When the variable is enabled for theparticular user profile, the variable may be output as dynamic.

The server device 200 a may be representative of the cloud-based datamanagement system 102. The server device 200 a may be representative ofthe application server 106. The server device 200 a may berepresentative of the data server 110. The server device 200 a may berepresentative of the external application server 116. The memory device204 may be representative of the database 108 and the processing device206 may be representative of the data server 110. The memory device 204may be representative of the external database 118 and the processingdevice 206 may be representative of the external application server 116.For example, the database 108 and/or the external database 118 may beimplemented as a block of memory in the memory device 204. The memorydevice 204 may further store instructions that, when executed by theprocessing device 206, perform various functions with the data stored inthe database 108 and/or the external database 118.

Similarly, the client device 200 b may be representative of the userdevice 104. The client device 200 b may be representative of thesmartphone 112. The client device 200 b may be representative of thepersonal computer 114. The memory device 210 may store applicationinstructions that, when executed by the processing device 212, cause theclient device 200 b to perform various functions associated with theinstructions, such as retrieving data, processing data, receiving input,processing input, transmitting data, and so forth.

As stated above, the server device 200 a and the client device 200 b maybe representative of various devices of the communications relay system100. Various of the elements of the communications relay system 100 mayinclude data storage and/or processing capabilities. Such capabilitiesmay be rendered by various electronics for processing and/or storingelectronic signals. One or more of the devices in the communicationsrelay system 100 may include a processing device. For example, thecloud-based data management system 102, the user device 104, thesmartphone 112, the personal computer 114, the external applicationserver 116, and/or the external database 118 may include a processingdevice. One or more of the devices in the communications relay system100 may include a memory device. For example, the cloud-based datamanagement system 102, the user device 104, the smartphone 112, thepersonal computer 114, the external application server 116, and/or theexternal database 118 may include the memory device.

The processing device may have volatile and/or persistent memory. Thememory device may have volatile and/or persistent memory. The processingdevice may have volatile memory and the memory device may havepersistent memory. Memory in the processing device may be allocateddynamically according to variables, variable states, static objects, andpermissions associated with objects and variables in the communicationsrelay system 100. Such memory allocation may be based on instructionsstored in the memory device. Memory resources at a specific device maybe conserved relative to other systems that do not associate variablesand other object with permission data for the specific device.

The processing device may generate an output based on an input. Forexample, the processing device may receive an electronic and/or digitalsignal. The processing device may read the signal and perform one ormore tasks with the signal, such as performing various functions withdata in response to input received by the processing device. Theprocessing device may read from the memory device information needed toperform the functions. For example, the processing device may update avariable from static to dynamic based on a received input and a rulestored as data on the memory device. The processing device may send anoutput signal to the memory device, and the memory device may store dataaccording to the signal output by the processing device.

The processing device may be and/or include a processor, amicroprocessor, a computer processing unit (CPU), a graphics processingunit (GPU), a neural processing unit, a physics processing unit, adigital signal processor, an image signal processor, a synergisticprocessing element, a field-programmable gate array (FPGA), a soundchip, a multi-core processor, and so forth. As used herein, “processor,”“processing component,” “processing device,” and/or “processing unit”may be used generically to refer to any or all of the aforementionedspecific devices, elements, and/or features of the processing device.

The memory device may be and/or include a computer processing unitregister, a cache memory, a magnetic disk, an optical disk, asolid-state drive, and so forth. The memory device may include randomaccess memory (RAM), read-only memory (ROM), static RAM, dynamic RAM,masked ROM, programmable ROM, erasable and programmable ROM,electrically erasable and programmable ROM, and so forth. As usedherein, “memory,” “memory component,” “memory device,” and/or “memoryunit” may be used generically to refer to any or all of theaforementioned specific devices, elements, and/or features of the memorydevice.

Various of the devices in the communications relay system 100 mayinclude data communication capabilities. Such capabilities may berendered by various electronics for transmitting and/or receivingelectronic and/or electromagnetic signals. One or more of the devices inthe communications relay system 100 may include a communication device,e.g., the communication device 202 and/or the communication device 208.For example, the cloud-based data management system 102, the user device104, the smartphone 112, the personal computer 114, the applicationserver 116, and/or the external database 118 may include a communicationdevice.

The communication device may include, for example, a networking chip,one or more antennas, and/or one or more communication ports. Thecommunication device may generate radio frequency (RF) signals andtransmit the RF signals via one or more of the antennas. Thecommunication device may receive and/or translate the RF signals. Thecommunication device may transceive the RF signals. The RF signals maybe broadcast and/or received by the antennas.

The communication device may generate electronic signals and transmitthe RF signals via one or more of the communication ports. Thecommunication device may receive the RF signals from one or more of thecommunication ports. The electronic signals may be transmitted to and/orfrom a communication hardline by the communication ports. Thecommunication device may generate optical signals and transmit theoptical signals to one or more of the communication ports. Thecommunication device may receive the optical signals and/or may generateone or more digital signals based on the optical signals. The opticalsignals may be transmitted to and/or received from a communicationhardline by the communication port, and/or the optical signals may betransmitted and/or received across open space by the networking device.

The communication device may include hardware and/or software forgenerating and communicating signals over a direct and/or indirectnetwork communication link. For example, the communication component mayinclude a USB port and a USB wire, and/or an RF antenna with BluetoothTMprogramming installed on a processor, such as the processing component,coupled to the antenna. In another example, the communication componentmay include an RF antenna and programming installed on a processor, suchas the processing device, for communicating over a Wifi and/or cellularnetwork. As used herein, “communication device” “communicationcomponent,” and/or “communication unit” may be used generically hereinto refer to any or all of the aforementioned elements and/or features ofthe communication component.

Various of the elements in the communications relay system 100 may bereferred to as a “server.” Such elements may include a server device.The server device may include a physical server and/or a virtual server.For example, the server device may include one or more bare-metalservers. The bare-metal servers may be single-tenant servers or multipletenant servers. In another example, the server device may include a baremetal server partitioned into two or more virtual servers. The virtualservers may include separate operating systems and/or applications fromeach other. In yet another example, the server device may include avirtual server distributed on a cluster of networked physical servers.The virtual servers may include an operating system and/or one or moreapplications installed on the virtual server and distributed across thecluster of networked physical servers. In yet another example, theserver device may include more than one virtual server distributedacross a cluster of networked physical servers.

The term server may refer to functionality of a device and/or anapplication operating on a device. For example, an application servermay be programming instantiated in an operating system installed on amemory device and run by a processing device. The application server mayinclude instructions for receiving, retrieving, storing, outputting,and/or processing data. A processing server may be programminginstantiated in an operating system that receives data, applies rules todata, makes inferences about the data, and so forth. Servers referred toseparately herein, such as an application server, a processing server, acollaboration server, a scheduling server, and so forth may beinstantiated in the same operating system and/or on the same serverdevice. Separate servers may be instantiated in the same application orin different applications.

Various aspects of the systems described herein may be referred to as“data.” Data may be used to refer generically to modes of storing and/orconveying information. Accordingly, data may refer to textual entries ina table of a database. Data may refer to alphanumeric characters storedin a database. Data may refer to machine-readable code. Data may referto images. Data may refer to audio. Data may refer to, more broadly, asequence of one or more symbols. The symbols may be binary. Data mayrefer to a machine state that is computer-readable. Data may refer tohuman-readable text.

Various of the devices in the communications relay system 100, includingthe server device 200 a and/or the client device 200 b, may include auser interface for outputting information in a format perceptible by auser and receiving input from the user, e.g., the user interface 214.The user interface may include a display screen such as a light-emittingdiode (LED) display, an organic LED (OLED) display, an active-matrixOLED (AMOLED) display, a liquid crystal display (LCD), a thin-filmtransistor (TFT) LCD, a plasma display, a quantum dot (QLED) display,and so forth. The user interface may include an acoustic element such asa speaker, a microphone, and so forth. The user interface may include abutton, a switch, a keyboard, a touch-sensitive surface, a touchscreen,a camera, a fingerprint scanner, and so forth. The touchscreen mayinclude a resistive touchscreen, a capacitive touchscreen, and so forth.

Various methods are described below. The methods may be implemented bythe data analysis system 100 and/or various elements of the dataanalysis system described above. For example, inputs indicated as beingreceived in a method may be input at the client device 200 b and/orreceived at the server device 200 a. Determinations made in the methodsmay be outputs generated by the processing device 206 based on inputsstored in the memory device 204. Correlations performed in the methodsmay be executed by the correlation module 206 a. Inference outputs maybe generated by the inference module 206 b. Key data and/or actionabledata may be stored in the knowledge database 204 b. Correlations betweenkey data and actionable data may be stored in the knowledge database 204b. Outputs generated in the methods may be output to the output database204 c and/or the client device 200 b. In general, data described in themethods may be stored and/or processed by various elements of the dataanalysis system 100.

FIG. 3 illustrates a system 300 for relaying a communication, accordingto an embodiment. In some embodiments, the system 300 may include one ormore computing platforms 302. The computing platform(s) 302 maycommunicate with one or more remote platforms 304 (e.g., the user device104 or the client device 200 b) according to a client/serverarchitecture, a peer-to-peer architecture, and/or other architectures.The remote platform(s) 304 may communicate with other remote platformsvia the computing platform(s) 302 and/or according to a client/serverarchitecture, a peer-to-peer architecture, and/or other architectures.Users may access the system 300 via the remote platform(s) 304.

The computing platform(s) 302 may be configured by machine-readableinstructions 306. The machine-readable instructions 306 may include oneor more instruction modules. The instruction modules may includecomputer program modules. The instruction modules may include one ormore of a communication receiving module 308, a sender identitydetermination module 310, a communication digest creating module 312, asender identity storing module 314, a communication recasting module316, a communication sending module 318, an identity determinationmodule 320, a communication storing module 322, and/or other instructionmodules.

The communication receiving module 308 may receive, at a processingdevice of a communications server (e.g., the cloud-based data managementsystem 102 or the server device 200 a) including a networking device(e.g., including, inter alia, the communication devices 202 and 208, thecommunication link 120), which may enable electronic communication bythe processing device with a user device and a third party device via acommunications service (e.g., a cell carrier or internet serviceprovider), an inbound communication from the third party device. In anexample, the communications service may be a telephony service (e.g., acell carrier or landline service), a short message system (SMS), amultimedia messaging service (MMS), or an email service (e.g., aninternet service provider and/or standalone email provider service). Inan example, the inbound communication may be a telephone call, a shortmessage system (SMS) message, a multimedia messaging service (MMS)message, or an email. The inbound communication may be a telephone call.The relayed telephone call may include establishing a bridged voiceconnection between the third party device and the user device via theprocessing device.

The inbound communication may be a short message system (SMS) message.The inbound communication may be an email. In an example, the inboundcommunication may be a telephone call, a short message system message, amultimedia messaging service message, or an email.

The communication receiving module 308 may receive, at the processingdevice, a relayed outbound communication from the user device.

The sender identity determination module 310 may determine, using theprocessing device, a sender identity (e.g., a name, identifier code,key, phone number, email address, username, etc.) associated with theinbound communication.

The communication digest creating module 312 may create, using theprocessing device, an inbound communication digest of the inboundcommunication. The inbound communication digest may include the senderidentity and an inbound communication content. The inbound communicationdigest may include, for example, a message, a message send time, and/ora property identifier. The property identifier may include, for example,an identification number, an address, or another identifier of a givenreal estate property or rental property.

The communication digest creating module 312 may create, using theprocessing device, an outbound communication digest of the relayedoutbound communication.

The sender identity storing module 314 may store, using the processingdevice, the sender identity and the inbound communication digest on anelectronic data storage unit, such as, for example, the memory device204 or 210. The inbound communication may be a telephone call andwherein the determining the sender identity associated with the inboundcommunication includes identifying, using the processing device, thesender identity associated with a telephone number associated with thetelephone call stored on the electronic data storage unit. The inboundcommunication may be a short message system message and wherein thedetermining the sender identity associated with the inboundcommunication includes identifying, using the processing device, thesender identity associated with a telephone number associated with theshort message system message stored on the electronic data storage unit.The inbound communication may be an email and wherein the determiningthe sender identity associated with the inbound communication includesidentifying, using the processing device, the sender identity associatedwith an email address associated with the email stored on the electronicdata storage unit.

The communication recasting module 316 may recast, using the processingdevice, the inbound communication to a relayed inbound communicationincluding the inbound communication and the sender identity. The relayedinbound communication may include the inbound communication digest. Thesending the relayed inbound communication the user device may includeexecuting the instruction on the processing device. The recasting theinbound communication to the relayed inbound communication may includecreating an instruction to send a text content of the short messagesystem message to the user device. The sending the relayed inboundcommunication the user device may include executing the instruction onthe processing device.

The recasting the inbound communication to the relayed inboundcommunication may include creating an instruction to send a text contentof the email to the user device. The sending the relayed inboundcommunication the user device may include executing the instruction.

The communication recasting module 316 may recast, using the processingdevice, the relayed outbound communication to an outbound communication.The outbound communication may include the outbound communicationdigest.

The communication sending module 318 may send, using the processingdevice, the relayed inbound communication to the user device. Thecommunication sending module 318 may send, using the processing device,the outbound communication to the third party device. For example, thethird party device may be the user device 104 or the client device 200b. The identity determination module 320 may determine, at theprocessing device, a recipient identity (e.g., a name, identifier code,key, phone number, email address, username, etc.) associated with therelayed outbound communication. The communication storing module 322 maystore, using the processing device, the outbound communication digest onthe electronic data storage unit.

In some implementations, the recasting the inbound communication to therelayed inbound communication may include creating an instruction toplace a relayed telephone call to the user device. In someimplementations, the recasting the relayed outbound communication to anoutbound communication may include performing, using the processingdevice, a lookup of the identity associated with the third party devicestored on the electronic data storage unit and creating an instructionto send a relayed outbound communication content to the third partydevice.

In some embodiments, the computing platform(s) 302, the remoteplatform(s) 304, and/or the external resources 324 may be operativelylinked via one or more electronic communication links. For example, suchelectronic communication links may be established, at least in part, viaa network such as the Internet and/or other networks using, for example,TCP/IP or cellular hardware enabling wired or wireless communication. Itwill be appreciated that this is not intended to be limiting, and thatthe scope of this disclosure includes embodiments in which the computingplatform(s) 302, the remote platform(s) 304, and/or the externalresources 324 may be operatively linked via some other communicationmedia.

A given remote platform 304 may include one or more processors, whichmay execute computer program modules. The computer program modules mayenable an expert or user associated with the given remote platform 304to interface with the system 300 and/or the external resources 324,and/or provide other functionality attributed herein to the remoteplatform(s) 304. In an example, a given remote platform 304 and/or agiven computing platform 302 may include one or more of a server, adesktop computer, a laptop computer, a handheld computer, a tabletcomputing platform, a NetBook, a Smartphone, a gaming console, and/orother computing platforms.

The external resources 324 may include sources of information outside ofsystem 300, external entities participating with the system 300, and/orother resources. In some embodiments, some or all of the functionalityattributed herein to the external resources 324 may be provided byresources included in the system 300. For example, the externalresources 324 may include, for example a cellular carrier or an internetservice provider, or associated hardware with such services.

The computing platform(s) 302 may include an electronic storage 326, oneor more processors 328, and/or other components similar tocommunications relay system 100. The computing platform(s) 302 mayinclude communication lines, or ports to enable the exchange ofinformation with a network and/or other computing platforms.Illustration of the computing platform(s) 302 in FIG. 3 is not intendedto be limiting. The computing platform(s) 302 may include a plurality ofhardware, software, and/or firmware components operating together toprovide the functionality attributed herein to the computing platform(s)302. For example, the computing platform(s) 302 may be implemented by acloud of computing platforms operating together as the computingplatform(s) 302.

The electronic storage 326 may include non-transitory storage media thatelectronically stores information. The electronic storage media of theelectronic storage 326 may include one or both of system storage that isprovided integrally (i.e., substantially non-removable) with thecomputing platform(s) 302 and/or removable storage that is removablyconnectable to the computing platform(s) 302 via, for example, a port(e.g., a USB port, a firewire port, etc.) or a drive (e.g., a diskdrive, etc.). Electronic storage 326 may include one or more ofoptically readable storage media (e.g., optical disks, etc.),magnetically readable storage media (e.g., magnetic tape, magnetic harddrive, floppy drive, etc.), electrical charge-based storage media (e.g.,EEPROM, RAM, etc.), solid-state storage media (e.g., flash drive, etc.),and/or other electronically readable storage media. The electronicstorage 326 may include one or more virtual storage resources (e.g.,cloud storage, a virtual private network, and/or other virtual storageresources). The electronic storage 326 may store software algorithms,information determined by the processor(s) 328, information receivedfrom the computing platform(s) 302, information received from remoteplatform(s) 304, and/or other information that enables the computingplatform(s) 302 to function as described herein.

The processor(s) 328 may provide information processing capabilities inthe computing platform(s) 302. As such, the processor(s) 328 may includeone or more of a digital processor, an analog processor, a digitalcircuit designed to process information, an analog circuit designed toprocess information, a state machine, and/or other mechanisms forelectronically processing information. Although the processor(s) 328 isshown in FIG. 3 as a single entity, this is for illustrative purposesonly. In some embodiments, the processor(s) 328 may include a pluralityof processing units. These processing units may be physically locatedwithin the same device, or the processor(s) 328 may represent processingfunctionality of a plurality of devices operating in coordination. Theprocessor(s) 328 may execute the modules 308, 310, 312, 314, 316, 318,320, and/or 322, and/or other modules. The processor(s) 328 may executethe modules 308, 310, 312, 314, 316, 318, 320, and/or 322, and/or othermodules by software; hardware; firmware; some combination of software,hardware, and/or firmware; and/or other mechanisms for configuringprocessing capabilities on the processor(s) 328. As used herein, theterm “module” may refer to any component or set of components thatperform the functionality attributed to the module. This may include oneor more physical processors during execution of processor readableinstructions, the processor readable instructions, circuitry, hardware,storage media, or any other components. Various modules or portionsthereof may be implemented in any of various ways, includingprocedure-based techniques, component-based techniques, and/orobject-oriented techniques, among others. For example, the programinstructions may be implemented using ActiveX controls, C++ objects,JavaBeans, Microsoft Foundation Classes (MFC), Streaming SIMD Extension(SSE), or other technologies or methodologies, as desired.

It should be appreciated that although the modules 308, 310, 312, 314,316, 318, 320, and/or 322 are illustrated in FIG. 3 as being implementedwithin a single processing unit, in embodiments in which theprocessor(s) 328 includes multiple processing units, one or more of themodules 308, 310, 312, 314, 316, 318, 320, and/or 322 may be implementedremotely from the other modules. The description of the functionalityprovided by the different the modules 308, 310, 312, 314, 316, 318, 320,and/or 322 described below is for illustrative purposes, and is notintended to be limiting, as any of the modules 308, 310, 312, 314, 316,318, 320, and/or 322 may provide more or less functionality than isdescribed. For example, one or more of the modules 308, 310, 312, 314,316, 318, 320, and/or 322 may be eliminated, and some or all of itsfunctionality may be provided by other ones of the modules 308, 310,312, 314, 316, 318, 320, and/or 322. As another example, theprocessor(s) 328 may execute one or more additional modules that mayperform some or all of the functionality attributed below to one of themodules 308, 310, 312, 314, 316, 318, 320, and/or 322.

FIG. 4A illustrates the method 400, according to an embodiment. Themethod 400 may be used for relaying an inbound communication from athird party device to a user device.

An operation 402 may include receiving, at a processing device of acommunications server including a networking device, which may enableelectronic communication by the processing device with a user device anda third party device via a communications service, an inboundcommunication from the third party device. The operation 402 may beperformed by one or more hardware processors configured bymachine-readable instructions including a module that is the same as orsimilar to the communication receiving module 308, in accordance withone or more embodiments.

An operation 404 may include determining, using the processing device, asender identity associated with the inbound communication. The operation404 may be performed by one or more hardware processors configured bymachine-readable instructions including a module that is the same as orsimilar to the sender identity determination module 310, in accordancewith one or more embodiments.

An operation 406 may include creating, using the processing device, aninbound communication digest of the inbound communication. The inboundcommunication digest may include the sender identity and an inboundcommunication content. The operation 406 may be performed by one or morehardware processors configured by machine-readable instructionsincluding a module that is the same as or similar to the communicationdigest creating module 312, in accordance with one or more embodiments.

An operation 408 may include storing, using the processing device, thesender identity and the inbound communication digest on an electronicdata storage unit. The operation 408 may be performed by one or morehardware processors configured by machine-readable instructionsincluding a module that is the same as or similar to the sender identitystoring module 314, in accordance with one or more embodiments.

An operation 410 may include recasting, using the processing device, theinbound communication to a relayed inbound communication including theinbound communication and the sender identity. The operation 410 may beperformed by one or more hardware processors configured bymachine-readable instructions including a module that is the same as orsimilar to the communication recasting module 316, in accordance withone or more embodiments.

An operation 412 may include sending, using the processing device, therelayed inbound communication to the user device. The operation 412 maybe performed by one or more hardware processors configured bymachine-readable instructions including a module that is the same as orsimilar to the communication sending module 318, in accordance with oneor more embodiments.

FIG. 4B illustrates an extension of method 400, according to anembodiment. The extension of method 400 may be used for relaying aninbound communication from a user device to a third party device.

An operation 414 may include receiving, at the processing device, arelayed outbound communication from the user device. The operation 414may be performed by one or more hardware processors configured bymachine-readable instructions including a module that is the same as orsimilar to the communication receiving module 308, in accordance withone or more embodiments.

An operation 416 may include determining, at the processing device, arecipient identity associated with the relayed outbound communication.The operation 416 may be performed by one or more hardware processorsconfigured by machine-readable instructions including a module that isthe same as or similar to the identity determination module 320, inaccordance with one or more embodiments.

An operation 418 may include creating, using the processing device, anoutbound communication digest of the relayed outbound communication. Theoperation 418 may be performed by one or more hardware processorsconfigured by machine-readable instructions including a module that isthe same as or similar to the communication digest creating module 312,in accordance with one or more embodiments.

An operation 420 may include storing, using the processing device, theoutbound communication digest on the electronic data storage unit. Theoperation 420 may be performed by one or more hardware processorsconfigured by machine-readable instructions including a module that isthe same as or similar to the communication storing module 322, inaccordance with one or more embodiments.

An operation 422 may include recasting, using the processing device, therelayed outbound communication to an outbound communication. Theoperation 422 may be performed by one or more hardware processorsconfigured by machine-readable instructions including a module that isthe same as or similar to the communication recasting module 316, inaccordance with one or more embodiments.

An operation 424 may include sending, using the processing device, theoutbound communication to the third party device. The operation 424 maybe performed by one or more hardware processors configured bymachine-readable instructions including a module that is the same as orsimilar to the communication sending module 318, in accordance with oneor more embodiments.

Various steps, functions, and/or operations of the computing platform(s)302, the remote platform(s) 304, and/or the external resources 324 andthe methods disclosed herein may be carried out by one or more of, forexample, electronic circuits, logic gates, multiplexers, programmablelogic devices, ASICs, analog or digital controls/switches,microcontrollers, or computing systems. Program instructionsimplementing methods such as those described herein may be transmittedover or stored on carrier medium. The carrier medium may include astorage medium such as a read-only memory, a random access memory, amagnetic or optical disk, a non-volatile memory, a solid state memory, amagnetic tape, and the like. A carrier medium may include a transmissionmedium such as a wire, cable, or wireless transmission link. Forinstance, the various steps described throughout the present disclosuremay be carried out by a single processor 328 (or computing platform 302)or, alternatively, multiple processors 328 (or multiple computingplatforms 302). Moreover, different sub-systems of the system 300 mayinclude one or more computing or logic systems. Therefore, the abovedescription should not be interpreted as a limitation on the presentdisclosure but merely an illustration.

FIG. 5 illustrates an example communications relay 500, according to anembodiment. The communications relay system 500 may provide for theaggregation of communications relayed to a customer 501 (e.g., alandlord) from various contacts 502 a and 502 b (e.g., tenants orprospective tenants) having identities 504 a and 504 b, respectively.

The customer 501 may have communications channels including a privateemail 502 and a private phone 503. The contacts 502 a and 502 b may haveprivate emails 505 a and 505 b, respectively, and private phones 506 aand 506 b, respectively. Using the communications relay system 500, eachcontact 502 a and 502 b may communicate through their respectiveidentities 504 a and 504 b, respectively, with the customer 501. Suchcommunications may be via, for example telephone (e.g., voice calling),SMS, or email, and may be aggregated to their respective identities 504a and 504 b from the point of view of the customer 501.

FIG. 6 illustrates a further example communications relay 600, accordingto an embodiment. The communications relay 600 may provide for theaggregation of communications relayed to or from a user customer device601 (e.g., a landlord’s device) from or to a third-party contact device602 (e.g., a tenant’s or a prospective tenant’s device) via acommunications relay system 603.

The communications relay system 603 may be similar to system 100, 200,or 300, and may provide for two-way communications with the customerdevice 601 and the contact device 602 and may mediate communicationstherebetween. To effect this, the communications relay system mayinclude a voice relay subsystem 604, an SMS relay subsystem 605, and anemail relay subsystem 606. The communications relay system 603 mayfurther include a database 607 for storing communications records (e.g.,identities related to and digests of communications). A customer device601 may be, for example, a smartphone 608 a or a laptop computer 608 b.

FIG. 7 illustrates a flowchart 700 of a unified communication inbox 701,according to an embodiment. The unified communication inbox 701 mayprovide for the customer (e.g., the user or the landlord) to receive,view, and respond to communications received from varying channels inone place.

The unified communication inbox 701 may include a database 702, whichmay contain records of communications, such as SMS messages, voicemailtranscripts, voice logs, and emails. The unified communications inboxmay further have access to a user’s cloud voicemail storage 703. Devices707 and 708 may be able to access the data stored in the unifiedcommunications inbox via operations including a request to getconversations 704, a request to get messages 705, and a messagesWebSocket 706.

FIG. 8 illustrates a flowchart 800 of a user setup and identitycreation, according to an embodiment. User setup may enable new users tobe set up as customers with a unified inbox to aggregate and relayinbound and outbound communications.

Within a user setup module 801, an instruction may be received at aninput point 802 to create a user. At 803, a user may be created with newrecords initialized in a database 805. Creation of an identity of theuser may be initiated at 806, which may initiate, at 807, creation of anidentity for the user, associate the identity with the user, create aunique code for the identity of the user, create a unique email addressfor the identity of the user, and provision a phone number for theidentity of the user (in coordination with a third party telephonyprovider 808), records of all of which may be stored in the database805.

FIG. 9 illustrates a flowchart 900 of an inbound voice communication,according to an embodiment. A communications relay system 901 mayprovide for aggregation and relay of inbound voice communications from acontact’s (e.g., a third party’s or tenant’s or prospective tenant’s)device 902 to a customer’s (e.g., a user’s or landlord’s) device 913.

A contact may initiate a call with a designated number using theircontact phone (e.g., handset) 902 via a third-party telephone provider903. The call may be received by the communications relay system at 904,and the identity of the caller may be looked up based on the caller’sphone number at 905 from a database 914. At 906, the identity may be setup for the call, for example, the call may be routed to a private phonenumber, patched to another system, or sent to voicemail. If theconfiguration indicates to place the call to the customer, a call may beplaced at 907, implemented via another third party telephony provider912 to the customer’s device 913. If the customer does answer, the calllog information may be saved at 911 to the database 914. If the customerdoes not answer, or if the configuration sends the call to voicemail at908, at 910 a voicemail may be recorded, transcribed at 917, and thecall information 916 and call transcript 915 may be stored to thedatabase 914.

FIG. 10 illustrates a flowchart 1000 of an outbound voice communicationimplementing Web real-time communication (WebRTC), according to anembodiment. A communications relay system 1001 may provide foraggregation and relay of outbound voice communications from a customer’s(e.g., a user’s or landlord’s) device 1002 to a contact’s (e.g., a thirdparty’s or tenant’s or prospective tenant’s) device 1003.

WebRTC may provide web browsers and mobile applications with real-timecommunication via simple application programming interfaces (APIs),enabling audio and video communication to work inside web pages byallowing direct peer-to-peer communication without plugins or otherthird-party applications.

The WebRTC-enabled user device 1002 may place a call via a third-partytelephone provider 1007 to a third-party device 1003, and the callinformation may be input at 1004 to the communications relay system1001. With the call information, at 1005, the identity of the thirdparty may be looked up based on the calling phone number from thedatabase 1006 and the call information may be saved to the database1006.

FIG. 11 illustrates another example flowchart 1100 of an outbound voicecommunication implementing a voice bridge, according to an embodiment. Acommunications relay system 1101 may provide for aggregation and relayof outbound voice communications from a customer’s (e.g., a user’s orlandlord’s) device 1102/1103 to a contact’s (e.g., a third party’s ortenant’s or prospective tenant’s) device 1114.

The communications relay system 1101 may implement a voice bridge by,upon receiving a call from the user’s device 1102/1103, make a call to acontact at 1104 or reply to a call from a conversation 1005. At 1107 or1108, an identity may be looked up from a database 1110, callinformation may be saved to the database 1110 (and to an existingconversation if available), the contact’s number may be looked up fromthe database, and the contact’s phone 1114 may be called via athird-party telephony provider 1113. At 1109 and upon completion of thecall at 1106 the identity may be once again looked up from the database1110 and call information may be stored in the database 1110 (tied to anexisting conversation if available).

FIG. 12 illustrates a flowchart 1200 of an incoming SMS communication,according to an embodiment. A communications relay system 1201 mayprovide for aggregation and relay of inbound SMS communications from acontact’s (e.g., a third party’s or tenant’s or prospective tenant’s)device 1202 to a customer’s (e.g., a user’s or landlord’s) device 1210.

The contact’s device may send an SMS via a third-party telephonyprovider 1203, which may be received at 1204 by the communications relaysystem 1201. At 1205, an identity of the sender may be looked up, basedon the incoming phone number, in a database 1206 and a copy of the SMSmessage contents may be stored in the database 1206. If the identity ofthe user is currently active, the SMS may be relayed at 1207 to thecustomer’s device 1210 directly. If not, a new message notification maybe sent at 1208 via a third party telephony provider 1209 to thecustomer’s device 1210.

FIG. 13 illustrates a flowchart 1300 of an outgoing SMS communicationfrom a website, according to an embodiment. A communications relaysystem 1301 may provide for aggregation and relay of outbound SMScommunications from a customer’s (e.g., a user’s or landlord’s) device1302/1303 to a contact’s (e.g., a third party’s or tenant’s orprospective tenant’s) device 1311.

The customer’s device 1302/1303 may initiate an SMS message (e.g., inreply to a received SMS message, email, or call) at 1304 or 1305, whichmay be part of a conversation. At 1306/1307, an identity associated withthe intended recipient of the SMS message may be looked up from adatabase 1308, and the outgoing SMS message may be saved in the database1308 (attached to an existing conversation, if applicable). At 1309, thecommunications relay system 1301 may send the SMS message via a thirdparty telephony provider 1310 to the contact’s device 1311.

FIG. 14 illustrates a flowchart 1400 of an outgoing SMS communicationfrom a phone number pool, according to an embodiment. A communicationsrelay system 1401 may provide for aggregation and relay of outbound SMScommunications from a customer’s (e.g., a user’s or landlord’s) device1402 to a contact’s (e.g., a third party’s or tenant’s or prospectivetenant’s) device 1408.

The customer’s device 1402 may reply to an SMS conversation at 1403,where each new SMS conversation is assigned a temporary phone numberfrom a phone number pool and is used to send/receive texts from thecustomer’s device 1402. At 1404, the conversation may be looked up in adatabase 1405 based on the currently-assigned conversation phone number,as well as the identity of the intended recipient contact, and themessage may be saved to the database 1405. The SMS message may then besent at 1406 via a third-party telephony provider 1407 to the contact’sdevice 1408.

FIG. 15 illustrates a flowchart 1500 of an incoming email communication,according to an embodiment. A communications relay system 1501 mayprovide for aggregation and relay of inbound email communications from acontact’s (e.g., a third party’s or tenant’s or prospective tenant’s)email service 1502 to a customer’s (e.g., a user’s or landlord’s) device1510.

A contact may initiate an email communication via their email service1502, which may be routed to the communications relay system 1501 via athird party email provider 1503 and received by the communications relaysystem at 1504. At 1505, an identity may be looked up in a database 1506based on the email address from which the incoming email was received.At 1507, the email may be saved to the database 1506. The email may thenbe forwarded to the identity’s private email address at 1508 via anotherthird party email provider 1509 to the customer’s email inbox or unifiedinbox accessible on the customer’s device 1510.

FIG. 16 illustrates a flowchart 1600 of an outgoing email communication,according to an embodiment. A communications relay system 1601 mayprovide for aggregation and relay of outbound email communications froma customer’s (e.g., a user’s or landlord’s) device 1602/1603/1604 to acontact’s (e.g., a third party’s or tenant’s or prospective tenant’s)email service 1611.

At 1605, the customer may send an email (e.g., a reply) from a unifiedinbox on a customer device 1602/1603 or an email client on a customerdevice 1604. At 1606, the conversation to which the email relates may belooked up in a database 1609 based on the email address to which theemail is directed, and the recipient’s email address may be looked inthe database 1609. At 1607, the email may be saved to the database 1609.The email may be sent with the “reply-to” address set to theconversation’s unique email address at 1608 via a third party emailprovider 1610 to a contact’s email service 1611.

In one aspect, a system may enable relaying a communication. The systemmay include one or more hardware processors configured bymachine-readable instructions. The processor(s) may receive, an inboundcommunication from a third party device. The processor(s) may determine,using the processing device, a sender identity associated with theinbound communication. The processor(s) may create, using the processingdevice, an inbound communication digest of the inbound communication.The processor(s) may store, the sender identity and the inboundcommunication digest on an electronic data storage unit. Theprocessor(s) may recast the inbound communication to a relayed inboundcommunication including the inbound communication and the senderidentity. The processor(s) may send the relayed inbound communication tothe user device.

In various embodiments, the processor(s) or processing device(s) may bea part of a communications server including a networking deviceconfigured to enable electronic communication by the processing devicewith a user device and a third party device via a communicationsservice. The inbound communication digest may include the senderidentity and an inbound communication content.

Another aspect of the present disclosure may include a method forrelaying a communication. The method may include receiving, at aprocessing device, an inbound communication from a third party device.The method may include determining, using the processing device, asender identity associated with the inbound communication. The methodmay include creating, using the processing device, an inboundcommunication digest of the inbound communication. The method mayinclude storing, using the processing device, the sender identity andthe inbound communication digest on an electronic data storage unit. Themethod may include recasting, using the processing device, the inboundcommunication to a relayed inbound communication including the inboundcommunication and the sender identity. The method may include sending,using the processing device, the relayed inbound communication to theuser device.

Yet another aspect of the present disclosure relates to a non-transientcomputer-readable storage medium having instructions embodied thereon,the instructions being executable by one or more processors to perform amethod for relaying a communication. The method may include receiving,at a processing device of a communications server including a networkingdevice configured to enable electronic communication by the processingdevice with a user device and a third party device via a communicationsservice, an inbound communication from the third party device. Themethod may include determining, using the processing device, a senderidentity associated with the inbound communication. The method mayinclude creating, using the processing device, an inbound communicationdigest of the inbound communication. The inbound communication digestmay include the sender identity and an inbound communication content.The method may include storing, using the processing device, the senderidentity and the inbound communication digest on an electronic datastorage unit. The method may include recasting, using the processingdevice, the inbound communication to a relayed inbound communicationincluding the inbound communication and the sender identity. The methodmay include sending, using the processing device, the relayed inboundcommunication to the user device.

In some embodiments, the relayed inbound communication may include theinbound communication digest. In some embodiments, the communicationsservice may be a telephony service, a short message system, a multimediamessaging service, or an email service. In some embodiments, the inboundcommunication may be a telephone call, a short message system message, amultimedia messaging service message, or an email. In some embodiments,the inbound communication may be a telephone call and wherein thedetermining the sender identity associated with the inboundcommunication includes looking up, using the processing device, thesender identity associated with a telephone number associated with thetelephone call stored on the electronic data storage unit.

In some embodiments, the inbound communication may be a telephone call.In some embodiments, the recasting the inbound communication to therelayed inbound communication may include creating an instruction toplace a relayed telephone call to the user device. In some embodiments,the sending the relayed inbound communication the user device mayinclude executing the instruction on the processing device. In someembodiments, the relayed telephone call may include establishing abridged voice connection between the third party device and the userdevice via the processing device.

In some embodiments, the inbound communication may be a short messagesystem message and wherein the determining the sender identityassociated with the inbound communication includes looking up, using theprocessing device, the sender identity associated with a telephonenumber associated with the short message system message stored on theelectronic data storage unit.

The operations of the various methods presented herein are intended tobe illustrative. In some embodiments, any of the various methods may beaccomplished with one or more additional operations not described,and/or without one or more of the operations discussed. Additionally,the orders in which the operations of the various methods describedherein are not intended to be limiting.

In some embodiments, any of the various methods may be implemented inone or more processing devices (e.g., a digital processor, an analogprocessor, a digital circuit designed to process information, an analogcircuit designed to process information, a state machine, and/or othermechanisms for electronically processing information). The one or moreprocessing devices may include one or more devices executing some or allof the operations of the various methods in response to instructionsstored electronically on an electronic storage medium. The one or moreprocessing devices may include one or more devices including hardware,firmware, and/or software to be specifically designed for execution ofone or more of the operations of any of the various methods.

A feature illustrated in one of the figures may be the same as orsimilar to a feature illustrated in another of the figures. Similarly, afeature described in connection with one of the figures may be the sameas or similar to a feature described in connection with another of thefigures. The same or similar features may be noted by the same orsimilar reference characters unless expressly described otherwise.Additionally, the description of a particular figure may refer to afeature not shown in the particular figure. The feature may beillustrated in and/or further described in connection with anotherfigure.

Elements of processes (i.e., methods) described herein may be executedin one or more ways such as by a human, by a processing device, bymechanisms operating automatically or under human control, and so forth.Additionally, although various elements of a process may be depicted inthe figures in a particular order, the elements of the process may beperformed in one or more different orders without departing from thesubstance and spirit of the disclosure herein.

The foregoing description sets forth numerous specific details such asexamples of specific systems, components, methods and so forth, in orderto provide a good understanding of several implementations. It will beapparent to one skilled in the art, however, that at least someimplementations may be practiced without these specific details. Inother instances, well-known components or methods are not described indetail or are presented in simple block diagram format in order to avoidunnecessarily obscuring the present implementations. Thus, the specificdetails set forth above are merely exemplary. Particular implementationsmay vary from these exemplary details and still be contemplated to bewithin the scope of the present implementations.

Related elements in the examples and/or embodiments described herein maybe identical, similar, or dissimilar in different examples. For the sakeof brevity and clarity, related elements may not be redundantlyexplained. Instead, the use of a same, similar, and/or related elementnames and/or reference characters may cue the reader that an elementwith a given name and/or associated reference character may be similarto another related element with the same, similar, and/or relatedelement name and/or reference character in an example explainedelsewhere herein. Elements specific to a given example may be describedregarding that particular example. A person having ordinary skill in theart will understand that a given element need not be the same and/orsimilar to the specific portrayal of a related element in any givenfigure or example in order to share features of the related element.

It is to be understood that the foregoing description is intended to beillustrative and not restrictive. Many other implementations will beapparent to those of skill in the art upon reading and understanding theabove description. The scope of the present implementations should,therefore, be determined with reference to the appended claims, alongwith the full scope of equivalents to which such claims are entitled.

The foregoing disclosure encompasses multiple distinct examples withindependent utility. While these examples have been disclosed in aparticular form, the specific examples disclosed and illustrated aboveare not to be considered in a limiting sense as numerous variations arepossible. The subject matter disclosed herein includes novel andnon-obvious combinations and sub-combinations of the various elements,features, functions and/or properties disclosed above both explicitlyand inherently. Where the disclosure or subsequently filed claims recite“a” element, “a first” element, or any such equivalent term, thedisclosure or claims is to be understood to incorporate one or more suchelements, neither requiring nor excluding two or more of such elements.

As used herein “same” means sharing all features and “similar” meanssharing a substantial number of features or sharing materially importantfeatures even if a substantial number of features are not shared. Asused herein “may” should be interpreted in a permissive sense and shouldnot be interpreted in an indefinite sense. Additionally, use of “is”regarding examples, elements, and/or features should be interpreted tobe definite only regarding a specific example and should not beinterpreted as definite regarding every example. Furthermore, referencesto “the disclosure” and/or “this disclosure” refer to the entirety ofthe writings of this document and the entirety of the accompanyingillustrations, which extends to all the writings of each subsection ofthis document, including the Title, Background, Brief description of theDrawings, Detailed Description, Claims, Abstract, and any other documentand/or resource incorporated herein by reference.

As used herein regarding a list, “and” forms a group inclusive of allthe listed elements. For example, an example described as including A,B, C, and D is an example that includes A, includes B, includes C, andalso includes D. As used herein regarding a list, “or” forms a list ofelements, any of which may be included. For example, an exampledescribed as including A, B, C, or D is an example that includes any ofthe elements A, B, C, and D. Unless otherwise stated, an exampleincluding a list of alternatively-inclusive elements does not precludeother examples that include various combinations of some or all of thealternatively-inclusive elements. An example described using a list ofalternatively-inclusive elements includes at least one element of thelisted elements. However, an example described using a list ofalternatively-inclusive elements does not preclude another example thatincludes all of the listed elements. And, an example described using alist of alternatively-inclusive elements does not preclude anotherexample that includes a combination of some of the listed elements. Asused herein regarding a list, “and/or” forms a list of elementsinclusive alone or in any combination. For example, an example describedas including A, B, C, and/or D is an example that may include: A alone;A and B; A, B and C; A, B, C, and D; and so forth. The bounds of an“and/or” list are defined by the complete set of combinations andpermutations for the list.

Where multiples of a particular element are shown in a FIG., and whereit is clear that the element is duplicated throughout the FIG., only onelabel may be provided for the element, despite multiple instances of theelement being present in the FIG. Accordingly, other instances in theFIG. of the element having identical or similar structure and/orfunction may not have been redundantly labeled. A person having ordinaryskill in the art will recognize based on the disclosure herein redundantand/or duplicated elements of the same FIG. Despite this, redundantlabeling may be included where helpful in clarifying the structure ofthe depicted examples.

The Applicant(s) reserves the right to submit claims directed tocombinations and sub-combinations of the disclosed examples that arebelieved to be novel and non-obvious. Examples embodied in othercombinations and sub-combinations of features, functions, elementsand/or properties may be claimed through amendment of those claims orpresentation of new claims in the present application or in a relatedapplication. Such amended or new claims, whether they are directed tothe same example or a different example and whether they are different,broader, narrower or equal in scope to the original claims, are to beconsidered within the subject matter of the examples described herein.

1. A method, comprising: receiving, at a communications relay, a firstelectronic communication from a third party device, wherein: the firstelectronic communication directed to a customer of the communicationsrelay, and the first electronic communication includes a firstcommunication identifier associated with a first communications channelused to send the first electronic communication; determining a senderidentity associated with the first electronic communication; storing, onan electronic data storage unit associated with the sender identity, arecord of the first electronic communication associated with the senderidentify; generating, at the communication relay, a unified networkinterface for accessing a set of electronic communications directed tothe customer, wherein the set of electronic communications includes thefirst electronic communication; and providing, to the customer via anetwork, access to the unified network interface.
 2. The method of claim1, further comprising: receiving, via the unified network interface, arequest to access the first electronic communication; altering the firstelectronic communication based on the at least one of the senderidentity or the communication digest; and providing, via a secondcommunication channel, the first electronic communication that wasaltered.
 3. The method of claim 2, wherein the first communicationchannel is different than the second communication channel.
 4. Themethod of claim 1, further comprising: receiving, via the unifiednetwork interface, a second electronic communication in reply to firstelectronic communication, wherein the second electronic communicationincludes the sender identity; retrieving, based on the sender identity,the first communication identifier associated with the firstcommunications channel, altering the second electronic communication fordelivery on the first communication channel based on the firstcommunication identifier; and providing the second electroniccommunication, which was altered, to the third party device via thefirst communication channel.
 5. The method of claim 4, wherein alteringthe second electronic communication comprises recasting the secondelectronic communication, the recasting comprising: determining a secondcommunication identifier to be associated with the customer, wherein thesecond communication identifier is compatible with the firstcommunication channel; and associating the second communicationidentifier with the second electronic communication.
 6. The method ofclaim 5, wherein providing the second electronic communicationcomprises: sending the second electronic communication over the firstcommunication channel using the first communication identifier and thesecond communication identifier.
 7. The method of claim 4, whereinstoring a communication digest comprises: converting at least a portionof the first electronic communication to a new format.
 8. The method ofclaim 1, wherein the record is a communication digest.
 9. The method ofclaim 1, wherein the set of electronic communications accessible inunified network interface different types of electronic communications.10. A method, comprising: receiving, at a communications relay, anoutgoing electronic communication from a customer that is directed to athird party device, wherein the outgoing electronic communicationincludes an relay identifier associated with a recipient of the outgoingelectronic communication; selecting a first communication identifierfrom a group of communication identifiers associated with the customer;generating, from the outgoing electronic communication, an alteredelectronic communication for delivery on a first communication channelusing the first communication identifier; and providing the alteredelectronic communication to the recipient over the first communicationchannel.
 11. The method of claim 10, further comprising: retrieving,using the relay identifier, a second communication identifier associatedwith the recipient, wherein the second communication identifier is usedto provide the altered electronic communication to the recipient overthe first communication channel.
 12. The method of claim 11, wherein therelay identifier is used to store communications from the recipient inthe relay.
 13. The method of claim 10, generating, from the outgoingelectronic communication, the altered electronic communication comprisesformatting the outgoing electronic communication for delivery on thefirst communication channel.
 14. The method of claim 10, furthercomprising: generating a digest for the outgoing electroniccommunication, and storing the digest on an electronic data storageunit.
 15. The method of claim 10, wherein the first communicationchannel comprise at least one of a messaging service, a telephonyservice, or an email service.
 16. A method, comprising: receiving, at acommunications relay, a first electronic communication over a firstcommunications channel from a sender; generating, from the firstelectronic communication, a first altered electronic communication fordelivery to a customer of the relay, wherein the first alteredelectronic communication includes a relay identifier that uniquelyidentifies the sender of the first altered electronic communication;receiving, at the communications relay, a second electroniccommunication over a second communications channel from the sender; andgenerating, from the second electronic communication, a second alteredelectronic communication for delivery to the customer of the relay,wherein the second altered electronic communication includes the relayidentifier.
 17. The method of claim 16, further comprising: uponreceiving an initial electronic communication for the sender, generatingthe relay identifier, wherein the relay identifier is utilized toidentify all communications of the sender sent to the customer.
 18. Themethod of claim 16, further comprising: storing at least a portion ofthe first electronic communication and the second electroniccommunication.
 19. The method of claim 16, further comprising:receiving, at the communications relay, a reply communication thatincludes the relay identifier; determining whether the replycommunication corresponds to the first electronic communication and thesecond electronic communication; and generating an altered replycommunication based on the determination of whether the replycommunication corresponds to the first electronic communication and thesecond electronic communication, wherein: if the reply communicationcorresponds to the first electronic communication, the altered replycommunication is formatted according to the first communication channel,and if the reply communication corresponds to the second electroniccommunication, the altered reply communication is formatted according tothe second communication channel.
 20. The method of claim 19, furthercomprising: retrieving a communication channel identifier for the senderbased on the relay identifier.